package com.zmc.lostfound.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zmc.lostfound.common.utils.PageParams;
import com.zmc.lostfound.common.utils.PageResult;
import com.zmc.lostfound.common.utils.Result;
import com.zmc.lostfound.system.entity.NoticeEntity;
import com.zmc.lostfound.system.vo.NoticeSaveVO;

import java.util.List;

/**
 * @author ZMC
 * @description 系统公告业务接口
 * @email 2869581855@qq.com
 */
public interface NoticeService extends IService<NoticeEntity> {

    /**
     * 分页模糊查询系统公告
     *
     * @param pageParams 分页参数
     * @return PageResult
     */
    PageResult queryPage(PageParams pageParams);

    /**
     * 按id查询系统公告
     *
     * @param id 系统公告id
     * @return NoticeEntity
     */
    NoticeEntity queryInfoById(Long id);

    /**
     * 查询全部系统公告
     *
     * @return List<NoticeEntity>
     */
    List<NoticeEntity> findAll();

    /**
     * 新增系统公告
     *
     * @param noticeSaveVO 系统公告新增/修改请求体
     * @return boolean
     */
    Result insertNotice(NoticeSaveVO noticeSaveVO);

    /**
     * 修改系统公告
     *
     * @param noticeSaveVO 系统公告新增/修改请求体
     * @return boolean
     */
    Result updateNotice(NoticeSaveVO noticeSaveVO);

    /**
     * 批量删除系统公告
     *
     * @param noticeIds 系统公告ids
     * @return boolean
     */
    Result deleteBatchNotice(List<Long> noticeIds);

}

